#ifndef NODE_H
#define NODE_H

#include <QObject>

/** Узел дерева
	*
	* @author Василий Почкаенко
	*/

class Node : QObject{
private:
	/** Указатель на 1-ый дочерний элемент.*/
	Node * c1;

	/** Указатель на 2-ой дочерний элемент.*/
	Node * c2;
public:
	/** Вес.*/
	double heft;

	/** Код назначаемый ветке ведущей к родителю.*/
	bool kod;

	/** Указатель на 1-ый дочерний элемент.*/
	Node * child1();

	/** Установить указатель на 1-ый дочерний элемент.*/
	void setChild1(Node * c);

	/** Указатель на 2-ой дочерний элемент.*/
	Node * child2();

	/** Установить указатель на 2-ой дочерний элемент.*/
	void setChild2(Node * c);

	/** Указатель на родителя.*/
	Node * parent;

	Node( QObject * parent = 0 );
	Node(const double heft, QObject * parent = 0 );
	Node(const double heft, const bool kod, QObject * parent = 0 );
};

#endif // NODE_H
